10 REM***************************** 20 REM* * 30 REM* WINDOWS DEMONSTRATION * 40 REM* * 50 REM* ERIC RANDALL 1988 * 60 REM* * 70 REM***************************** 80 REM 90 REM INITIALISATION 100 REM 105 POKE53280,14:POKE646,14:POKE53281,6:PRINT"[147] LOADING: MACHINE CODE[154]" 110 IFPEEK(49152)<>72THENLOAD"WINDOWS MC",8,1 120 POKE52,100:POKE56,100 130 INIT=50176:SET=50179:PULL=50182:BACK=50185:DOWN=50188:UP=50191:LEFT=50194 140 RIGHT=50197 150 POKE53265,PEEK(53265)AND239 160 SYSINIT:SYSSET,1,3,5,19,30:SYSSET,2,2,2,14,30:SYSSET,4,5,8,8,23 170 SYSPULL,1 180 PRINT"[147] INSTRUCTIONS[146]":PRINT"INITIALISE SYSTEM - SYS50176 190 [153]"DEFINE WINDOW - SYS50179,A,B,C,D,E WHERE:":[153]" A=WINDOW NUMBER (1 TO 4) 200 PRINT" B=START LINE C=START ROW":PRINT" D=NUMBER OF LINES 210 [153]" E=NUMBER OF ROWS":[153]"PULL DOWN WINDOW - SYS50182,A WHERE A=WINDOW NUMBER 220 PRINT"PUSH BACK CURRENT WINDOW - SYS50185" 230 PRINT"PRESS A KEY":SYSBACK 240 SYSPULL,4:PRINT"[147]TO DRAG WINDOWS :- 250 [153]" DOWN - SYS50188 F3WAIT":[153]" UP - SYS50191 F4WAIT" 260 [153]" LEFT - SYS50194 F6WAIT":[153]" RIGHT - SYS50197 F5WAIT" 270 [158]BACK:[151]53265,[194](53265)[170]16 280 [143] 290 [143] MAIN MENU 300 [143] 310 [153]"LOAD WINDOWS DEMONSTRATION WAIT" 320 [153]" 1WAIT - INSTRUCTIONS 330 PRINT" 2[146] - DISK DIRECTORY LISTING 340 [153]" 3WAIT - DEFINE YOUR OWN WINDOW 350 PRINT" 4[146] - PULL DOWN A WINDOW 360 [153]" 5WAIT - EXIT 370 PRINT"AFTER EACH EXERCISE, PRESS F1 TO EXIT FROM A WINDOW 380 [153]" SELECT OPTIONWAIT 390 GETA$:IFA$<"1"ORA$>"5"THEN390 400 ONVAL(A$)GOTO410,490,560,660,480 410 REM 420 REM PULL INSTRUCTION WINDOW 430 REM 440 SYSPULL,1:GOSUB740 450 SYSPULL,4:GOSUB740 460 SYSBACK:SYSBACK 470 GOTO390 480 END 490 REM 500 REM DISPLAY DIRECTORY 510 REM 520 SYSPULL,2 530 PRINT"[147] DISK LISTING[146]":PRINT"INSERT DISK AND PRESS A KEY" 540 GETA$:IFA$=""THEN540 550 GOSUB850:GOSUB740:SYSBACK:GOTO390 560 REM 570 REM DEFINE A WINDOW 580 REM 590 SYSPULL,1:PRINT"[147] DEFINE WINDOW[146]":PRINT"YOUR WINDOW WILL BE NUMBER 3 600 A[178]3:[153]" START LINE";:[133]B:[153]"START ROW";:[133]C 610 [153]"NUMBER OF LINES";:[133]D:[153]"NUMBER OF ROWS";:[133]E 620 [158]SET,A,B,C,D,E:[158]PULL,A 630 [153]"LOADTHIS IS YOUR WINDOW. USE THE CURSER AND HOME CONTROLS TO SET UP"; 640 [153]"THE DISPLAY IN THIS WINDOW THEN PRESS RETURN 650 INPUTA$:SYSBACK:SYSBACK:GOTO390 660 REM 670 REM PULL DOWN A WINDOW 680 REM 690 SYSPULL,2:PRINT"[147] PULL DOWN A WINDOW[146] 700 [153]"WHICH WINDOW (1, 3 OR 4)":[133]A 705 [139]A[179]1[176]A[177]4[176]A[178]2[167]700 710 [158]PULL,A 720 [141]740 730 [158]BACK:[158]BACK:[137]390 740 [143] 750 [143] CHECK WHICH KEY PRESSED 760 [143] AND MOVE WINDOW 770 [143] 780 [161]A$:[139]A$[178]""[167]780 790 A[178][198](A$) 800 [139]A[178]138[167][158]UP:[137]740 810 [139]A[178]134[167][158]DOWN:[137]740 820 [139]A[178]139[167][158]LEFT:[137]740 830 [139]A[178]135[167][158]RIGHT:[137]740 840 [142] 850 [143] 860 [143] PRINT DISK DIRECTORY 870 [143] 880 [159]2,8,15:Z[178]0:P[178]1:[152]2,"I 890 OPEN1,8,0,"$0" 900 GET#1,A$,B$ 910 GET#1,A$,B$ 920 GET#1,A$,B$ 930 C=0 940 IF A$<>"" THEN C=ASC(A$) 950 IF B$<>"" THEN C=C+ASC(B$)*256 960 D=3-LEN(STR$(C)):D=E 970 PRINT""MID$(STR$(C),2);TAB(3+E);"[146]"; 980 FORJ=0TOD:PRINT" ";:NEXT 990 GET#1,B$:IF ST<>0 THEN 1090 1000 IF B$<>CHR$(34) THEN 990 1010 GET#1,B$:IF B$<>CHR$(34)THEN PRINTB$;:GOTO1010 1020 GET#1,B$:IF B$=CHR$(32) THEN 1020 1030 PRINT TAB(21+E);:C$="" 1040 C$=C$+B$:GET#1,B$:IF B$<>"" THEN 1040 1050 PRINT""LEFT$(C$,3) 1060 IFZ=0THENPRINT:Z=Z+1 1070 P=P+1:IFP=10THEN1110 1080 IF ST=0 THEN 910 1090 PRINT" BLOCKS FREE" 1100 CLOSE1:CLOSE2:RETURN 1110 PRINT"PRESS A KEY[146]" 1120 GETA$:IFA$=""THEN1120 1130 P=0:GOTO1080